package com.epalmpay.service.order;

import com.epalmpay.dto.order.MallOrderInDTO;
import com.epalmpay.dto.order.MallOrderQueryDTO;
import com.epalmpay.dto.order.OrderGoodExcelOutDTO;
import com.epalmpay.dto.order.OrderGoodOutDTO;
import com.epalmpay.dto.system.BaseOutDTO;
import com.epalmpay.entity.OrderGood;
import com.epalmpay.entity.Page;
import com.epalmpay.entity.Response;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

/**
 * Created by lifayi on 2017/9/2.
 */
public interface IOrderGoodService {
    List<OrderGoodOutDTO> listMallOrder(MallOrderQueryDTO mallOrderQueryDTO, Page page) throws ParseException;

    List<OrderGoodExcelOutDTO> listMallOrderExcel(MallOrderQueryDTO mallOrderQueryDTO, Page page) throws ParseException;

    BaseOutDTO saveManipulation(MallOrderInDTO mallOrderInDTO, String homeUrl) throws Exception;

    OrderGoodOutDTO get(MallOrderQueryDTO mallOrderQueryDTO);

    Map<String,Long> orderQuery(Long orderId);

    /**
     * 根据订单号查询订单信息
     * @param orderId
     * @return
     */
    Map<String,Long> selectUserInfoById(Long orderId);


    /**
     * 根据渠道ID，商品名称，搜索订单信息
     * @param mallOrderQueryDTO
     * @return
     * @throws ParseException
     */
    Response getEntityGoodOrderByGoodName(MallOrderQueryDTO mallOrderQueryDTO) throws ParseException;

}
